package com.whl.sm.model.repair;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

import java.util.Date;
import java.util.List;

/**
 * <p>
 * 
 * </p>
 *
 * @author wuhaolun
 * @since 2021-11-28
 */
@Data
public class RepairApply {

    private static final long serialVersionUID = 1L;

    @TableId(type = IdType.ASSIGN_UUID)
    private String id;

    /**
     * 保修类型
     */
    private String repairType;

    /**
     * 保修者id
     */
    private String applicant;

    /**
     * 联系电话
     */
    private String contractTel;

    /**
     * 保修地点
     */
    private String repairLocation;

    /**
     * 预约时间
     */
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    private Date appointmentTime;

    /**
     * 报修内容描述
     */
    private String repairDescription;

    /**
     * 报修状态
     */
    private Integer step;

    /**
     * 报修状态枚举值
     */
    private String repairStatus;

    /**
     * 创建时间
     */
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    @TableField(fill = FieldFill.INSERT)
    private Date createTime;

    /**
     * 更新时间
     */
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private Date updateTime;

    /**
     * 报修意见:后台人员填写
     */
    private String opinionRemark;

    /**
     * 完成时间
     */
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    private Date completeTime;

    /**
     * 操作者
     */
    private String operator;

    /**
     * 逻辑删除
     */
    private Integer isDel;


    /**
     * 非数据库字段值
     */

    /**
     * 申请人姓名
     */
    @TableField(exist = false)
    private String applicantName;

    /**
     * 更新操作者姓名
     */
    @TableField(exist = false)
    private String operatorName;


    /**
     * 报修类型名称
     */
    @TableField(exist = false)
    private String repairTypeName;

    @TableField(exist = false)
    private List<String> applyImgList;


}
